<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 考点：AO
        // function test(){
        //     console.log(foo);
        //     var foo = 2;
        //     console.log(foo);
        //     // console.log(a);
        // }
        // test();
        
        // 考点：AO
        // function a(){
        //     var test;
        //     test();
        //     function test(){
        //         console.log(1);
        //     }
        // }
        // a();

        // 考点：GO,AO,this指向
        // var name = '222';
        // var a = {
        //     name: '111',
        //     say: function(){
        //         console.log(this.name);
        //     }
        // }
        // var fun = a.say;
        // fun();
        // a.say();
        // var b = {
        //     name: '333',
        //     say: function(fun){
        //         fun();
        //     }
        // }
        // b.say(a.say);
        // b.say = a.say;
        // b.say()

        // 考点：this指向
        // function test(){
        //     var marty = {
        //         name: 'marty',
        //         printName: function(){
        //             console.log(this.name);
        //         }
        //     }

        //     var test1 = {
        //         name: 'test1'
        //     }

        //     var test2 = {
        //         name: 'test2'
        //     }

        //     var test3 = {
        //         name: 'test3',
        //         printName: function(){
        //             console.log(this.name);
        //         }
        //     }

        //     test3.printName = marty.printName;
        //     marty.printName.call(test1);
        //     marty.printName.apply(test2);
        //     marty.printName();
        //     test3.printName();
        // }

        // test();

        // 考点：AO,GO，原型
        // var bar = {
        //     a: '1'
        // }

        // function test(){
        //     bar.a = 'a';
        //     Object.prototype.b = 'b';
        //     return function inner(){
        //         console.log(bar.a);
        //         console.log(bar.b);
        //     }
        // }

        // test()(); 

        // 考点：GO&AO&原型&原型链&this
        var getName;
        function Foo(){
            getName = function(){
                console.log(1);
            }
            return this;
        }
        function getName(){
            console.log(5);
        }
        Foo.getName = function(){
            console.log(2);
        }
        Foo.prototype.getName = function(){
            console.log(3);
        }
        getName = function(){
            console.log(4);
        }

        Foo.getName();
        getName();
        Foo().getName();
        new Foo.getName();
        new new Foo().getName();

        // 请用window.prompt接收用户输入的年份，判断是否是闰年（三目运算）
        function run(){
            var year = window.prompt('请输入年份')
            if(!isNaN(Number(year))){
                return (year % 4 === 0 && year % 100 != 0) || year % 400 === 0 ? '闰年' : '平年';
            }
            run();
        }

        console.log(run());

        // undefined, 2, 报错
        // 1
        // 222, 111, 222, 333
        // test1, test2, marty, test3
        // a, b
        // 2,4,1,2,3
    </script>
</body>
</html>